package com.ruoyi.qbms.service;

import java.util.List;
import com.ruoyi.qbms.domain.QbmsRecordAnswer;
import com.ruoyi.qbms.domain.vo.QbmsRankVo;

/**
 * 题库答题记录Service接口
 * 
 * @author zouhuu
 * @date 2022-10-19
 */
public interface IQbmsRecordAnswerService 
{
    /**
     * 查询题库答题记录
     * 
     * @param id 题库答题记录主键
     * @return 题库答题记录
     */
    public QbmsRecordAnswer selectQbmsRecordAnswerById(Long id);

    /**
     * 查询题库答题记录列表
     * 
     * @param qbmsRecordAnswer 题库答题记录
     * @return 题库答题记录集合
     */
    public List<QbmsRecordAnswer> selectQbmsRecordAnswerList(QbmsRecordAnswer qbmsRecordAnswer);

    /**
     * 查询答题排名
     * @param qbmsRecordAnswer
     * @return
     */
    public List<QbmsRankVo> selectAnswerRankList(QbmsRecordAnswer qbmsRecordAnswer);

    /**
     * 查询数量
     * @param qbmsRecordAnswer
     * @return
     */
    public int selectNums(QbmsRecordAnswer qbmsRecordAnswer);

    /**
     * 查询答题人数
     * @param qbmsRecordAnswer
     * @return
     */
    public int selectUserNums(QbmsRecordAnswer qbmsRecordAnswer);

    /**
     * 新增题库答题记录
     * 
     * @param qbmsRecordAnswer 题库答题记录
     * @return 结果
     */
    public int insertQbmsRecordAnswer(QbmsRecordAnswer qbmsRecordAnswer);

    /**
     * 修改题库答题记录
     * 
     * @param qbmsRecordAnswer 题库答题记录
     * @return 结果
     */
    public int updateQbmsRecordAnswer(QbmsRecordAnswer qbmsRecordAnswer);


    /**
     * 批量更新状态
     * @param qbmsRecordAnswer
     * @return
     */
    public int batchUpdateStatus(QbmsRecordAnswer qbmsRecordAnswer);

    /**
     * 批量删除题库答题记录
     * 
     * @param ids 需要删除的题库答题记录主键集合
     * @return 结果
     */
    public int deleteQbmsRecordAnswerByIds(Long[] ids);

    /**
     * 删除题库答题记录信息
     * 
     * @param id 题库答题记录主键
     * @return 结果
     */
    public int deleteQbmsRecordAnswerById(Long id);
}
